package com.hnevc.chenqi;

import java.util.LinkedList;
import java.util.Scanner;

/**
 * KTV点歌
 */
public class KTVByLinkedList {
    public static void main(String[] args) {
        System.out.println("----欢迎来到点歌系统----");
        System.out.println("0.添加歌曲至列表");
        System.out.println("1.将歌曲置顶");
        System.out.println("2.将歌曲前移一位");
        System.out.println("3.退出");
        LinkedList linkedList = new LinkedList();
        addMusicList(linkedList);
        while (true) {
            Scanner scanner = new Scanner(System.in);
            int command = scanner.nextInt();//获取请用户操作的编号代码
            switch (command) {
                case 0:
                    addMusicList(linkedList);
                    break;
                case 1:
                    setTop(linkedList);
                    break;
                case 2:
                    setBefore(linkedList);
                    break;
                case 3:
//                    exit;
                    break;
                default:
                    System.out.println("--------------");
                    System.out.println("功能选择有误，请输入正确的功能序号!");
            }
        }
    }

    public static void addMusicList(LinkedList list) {
        list.add("动物世界");
        list.add("后来");
        list.add("红马");
        list.add("声声慢");
        list.add("国际歌");
        list.add("雾里");
        System.out.println("初始化列表" + list);
    }

    public static void addMusic(LinkedList list) {
        System.out.println("请输入要添加的歌曲的名称");
        String musicName = new Scanner(System.in).nextLine();
        list.add(musicName);//向歌曲列表末尾添加歌曲
        System.out.println("已添加歌曲" + musicName);
    }

    //歌曲置顶
    public static void setTop(LinkedList list) {
        System.out.println("请输入要置顶的歌曲的名称：");
        String musicName = new Scanner(System.in).nextLine();
        int index = list.indexOf(musicName);//查找指定歌曲位置
        if (index >= 0) {//判断输入的歌曲是否存在
            list.remove(index);//移除指定的歌曲
            list.addFirst(musicName);//将指定的歌曲放到第一位
        } else {
            System.out.println("当前列表中没有输入的歌曲");
        }
        System.out.println("已将歌曲" + musicName + "置顶");
    }

    //执行将歌曲置前一位
    public static void setBefore(LinkedList list) {
        System.out.println("请输入要置前的歌曲名称");
        String musicName = new Scanner(System.in).nextLine();
//        int position =LinkedList.indexOf(musicName);//查找指定歌曲位置
    }
}
